Image processing using neural network

ABSTRACT

Image processing method wherein each image is composed of an array of image points, so called pixels or voxels particularly in a two-, three-, or more dimensional space respectively each image point being univocally defined by its position within the array of image points and by one or more numerical parameters defining the image point appearance as regards characteristics of brightness, grey, colour shade or the like, and wherein each image point is considered to be a node of an artificial neural network, the image being processed as a function of parameters defining the appearance of each pixel as values of the nodes of said artificial neural network and as a function of connections of each pixel under processing with neighbouring pixels composed of pixels of a predetermined subset of pixels, particularly with neighbouring pixels of said pixel under processing, so called pixel window, while pixels of the new image i.e. of the processed image are obtained by iterative evolution steps of parameters defining the appearance such as evolution steps of the value of nodes or by iterative evolution steps of values of the set of connections or by a combination of said evolutions, wherein the processing occurs by evolution iterative steps where each step is a function also of connections of neighbouring pixels with the pixel under examination, when each of said neighbouring pixels of the pixel under examination is considered also as a neighbouring pixel of one ore more or all pixels adjacent to said neighbouring pixel, which function is an immediate feedback contribution for determining appearance values of all other pixels.

The invention relates to an image processing method wherein each image is composed of an array of image points, so called pixels or voxels particularly in a two-, three-, or more dimensional space respectively each image point being univocally defined by its position within the array of image points and by one or more numerical parameters defining the image point appearance as regards characteristics of brightness, grey, colour shade or the like, and wherein each image point is considered to be a node of an artificial neural network, the image being processed as a function of parameters defining the appearance of each pixel as values of the nodes of said artificial neural network and as a function of connections of each pixel under processing with neighbouring pixels composed of pixels of a predetermined subset of pixels, particularly with neighbouring pixels of said pixel under processing, so called pixel window,

while pixels of the new image i.e. of the processed image are obtained by iterative evolution steps of parameters defining the appearance such as evolution steps of the value of nodes or by iterative evolution steps of values of the set of connections or by a combination of said evolutions.

A method of this type is known from document WO 2005/020132 or EP 1 656 632 wherein fundamental principles of the method according to the present invention are described and whose disclosure has to be considered as a part of the present one as regards base concepts.

Processing systems of the known method according to above documents work based on local, deterministic and iterative operations. The local ones are due to the fact that at each processing cycle operations involve a central pixel and its relationships with immediately adjacent pixels (neighbourhood of the central pixel). Deterministic ones are due to the fact that the stationary condition towards which the dynamic system evolves, that is represented by the pixel matrix with the new image, is ordered by deterministic equations: therefore the processing can be repeated while leading always to the same result. Iterative ones are due to the fact that operations are iteratively repeated till the space evolution of steps, of the dynamic system, reaches their own attractor.

Summarizing basic theory concepts of known systems described above, a phenomenon with relevant topology in a D dimensional space, such as for example an image composed of an array of pixels or voxels or of an array of values each distinguishing the appearance of a pixel or voxel having a predetermined position in the array of pixels or voxels, can be represented by the minimun units called nodes and by local connections established one with the other. Each minimum unit u at the processing step n is defined by the position x=(x₁, x₂, . . . , x_(D)) taken by it into the phenomenon and by the quantitative value as a function of such position:

u_(x) ₁ _(, x) ₂ _(, . . . , x) _(D) ^([n])=u_(x) ^([n])  [2.1]

In practice let imagine minimum units u to be points arranged at position coordinates x to which a value called intensity is also given. For each unit u, the position x and the intensity value taken together at processing cycle n is summed up in the term u_(x) ^([n]).

The starting given image has to be considered as composed of units at processing cycle “0”, so each of its units is identified by the term u_(x) ^([0]). When we will not make reference to the processing cycle n, but on the contrary we refer to a generically minimum unit, we will indicate it by the term u or ux if we desire to indicate also the position.

Let consider as the distance dist(x, x_(S)) between positions x=(x₁, x₂, . . . , x_(D)) and x_(S)=(x₁+k_(S1), x₂+k_(S2), . . . , x_(D)+k_(SD)) of two minimum units, the maximum one between absolute values of indexes k_(Si) with i=1, 2, . . . , D where:

$\begin{matrix} {{{dist}\left( {x,x_{s}} \right)} = {\max\limits_{{{i = 1},2,\mspace{14mu} \ldots \mspace{14mu},D}\;}{\left\{ {k_{Si}} \right\}.}}} & \lbrack 2.2\rbrack \end{matrix}$

Given a position coordinate x (inside the given image), we consider the neighbourhood of x with G radius the neighbourhood I_(x) ^(G), centered on the position x, comprising x and all positions xS whose distance from x is not void and does not exceed G:

I _(x) ^(G)={(x, x _(S))|0<dist(x, x _(S))≦G}  [2.3]

In practice each neighbourhood I_(x) ^(G) of x is composed only of all points xS satisfying [2.3] and of x itself. Position x is named as position of the central pixel of neighbourhood I_(x) ^(G). The subscript S denotes the variability of the position of points xS of the neighbourhood, distinguished from the central position x. In the two dimensional case (D=2) and with radius 1, S is the subscript denoting the position of 8 pixels of the neighbourhood centered in the position x.

The set of positions x and xS belonging to respective neighbourhoods I_(x) ^(G), since they are position coordinates, will be used without distinction for denoting positions of pixels of the starting given Image, of images under processing, and of the final one. If we refer to neighbourhoods with radius G=1, the neighbourhood will be denoted by the simple notation I_(x).

Each local connection between two minimum units, defines the force exerted by a minimum unit on the other one and viceversa. Therefore, once two minimum units are given there are always provided two local connections whose value is independent and generally it is different.

The connection between a minimum unit having a position x=(x₁, x₂, . . . , x_(D)) and another one having the position x_(S)=(x_(S1), x_(S2), . . . , x_(SD)), at step n will be defined by positions x and xs of connected units and by the quantitative value:

w _((x) ₁ _(, x) ₂ _(, . . . , x) _(D) _(),(x) _(S1) _(, x) _(S2) _(, . . . , x) _(SD) )^([n]) =w _(x, x) _(S) ^([n])  [2.4]

equal to:

w _((x) ₁ _(, x) ₂ _(, . . . , x) _(D) _(),(x) ₁ _(+k) _(S1) _(, x) ₂ _(, k) _(S2) _(, . . . , x) _(D) _(+k) _(SD) ₎ ^([n])  [2.5]

where each coordinate both of x and xS is clearly indicated: x_(S1)=x₁+k_(S1), x_(S2)=x₂+k_(S2), x_(SD)=x_(D)+k_(SD). On the contrary, in [2.4], a more simple notation is used wherein synthetically it is indicated x_(S)=x+k_(S), where k_(S)=(k_(S1), k_(S2), . . . , k_(SD)).

Therefore, generally speaking, the following notation is used: w_(x, x) _(S) ^([n]) in order to intend the value of each connection between the minimum unit u_(x) of the central pixel (placed in the position x of the neighbourhood) and each minimum unit u_(s) _(S) of pixels of the neighbourhood I_(x) ^(G) (placed in positions xS) at processing step n.

Active Connection Matrixes are defined with respect to a neighbourhood having radius G. For each minimum unit ux only connections between the central unit in position x and the ones u_(x) _(S) of its neighbourhood I_(x) _(S) ^(G) with radius G are considered.

The Active Connection Matrix is defined as the system composed of the following equations:

$\begin{matrix} \begin{matrix} {{u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack{n + 1}\rbrack}=={f\begin{pmatrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack n\rbrack},\ldots \mspace{14mu},} \\ {u_{{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}}^{\lbrack n\rbrack},\ldots \mspace{14mu},} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}})}}^{\lbrack n\rbrack} \end{pmatrix}}} =} \\ {= {{f\begin{pmatrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack n\rbrack},\ldots \mspace{14mu},} \\ {u_{x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}}^{\lbrack n\rbrack},\ldots \mspace{14mu},} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}})}}^{\lbrack n\rbrack} \end{pmatrix}} =}} \\ {= {f\left( {u_{x}^{\lbrack n\rbrack},\ldots \mspace{14mu},u_{x_{S}}^{\lbrack n\rbrack},\ldots \mspace{14mu},w_{x,x_{S}}^{\lbrack n\rbrack}} \right)}} \end{matrix} & \lbrack 2.6\rbrack \\ {\mspace{79mu} {and}} & \; \\ {{w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({{x_{1} + k_{1}},{x_{2} + k_{2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{D}}})}}^{\lbrack{n + 1}\rbrack}=={g\begin{pmatrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack n\rbrack},} \\ {u_{{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}}^{\lbrack n\rbrack},} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}})}}^{\lbrack n\rbrack} \end{pmatrix}}=={g\begin{pmatrix} \begin{matrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack n\rbrack},} \\ {u_{x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}}^{\lbrack n\rbrack},\ldots \mspace{14mu},} \end{matrix} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}})}}^{\lbrack n\rbrack} \end{pmatrix}}} = {g\left( {u_{x}^{\lbrack n\rbrack},u_{x_{S}}^{\lbrack n\rbrack},w_{x,x_{S}}^{\lbrack n\rbrack}} \right)}} & \lbrack 2.7\rbrack \end{matrix}$

being valid:

∀u _(x) ^([n]) e∀w _(x, x) _(S) ^([n])|(x, x _(S))∈I _(x) ^(G)={(x, x _(S))|0<dist(x, x _(S))≦G}  [2.8]

and with initial fixed values u_(x) ₁ _(, x) ₂ _(, . . . , x) _(D) ^([0])=u_(x) ^([0]) and w_((x) ₁ _(, x) ₂ _(, . . . , x) _(D) _(),(x) ₁ _(+k) _(S1) _(, x) ₂ _(+k) _(S2) _(, . . . , x) _(D) _(+k) _(SD) ₎ ^([0])=w_(x, x) _(S) ^([0]).

The first equation [2.6] shows that the evolution of a unit depends on the value of the unit, on all units of the neighbourhood, and on the one of (2·G+1)^(D)−1 connections of all units of the hypercubic neighbourhood with radius G; while (2·G+1)^(D)−1 equations for the connections show that the evolution of each of them depends on the value of the connection and on the one of the two connected units.

In the two dimensional case (D=2) units of a phenomenon can be represented in a matrix, using more easily indexes i and j instead of x1 and x2, is given as:

$\begin{matrix} \ldots & \ldots & \ldots & \ldots & ... \\ \ldots & u_{{i - 1},{j - 1}} & u_{i,{j - 1}} & u_{{i + 1},{j - 1}} & \ldots \\ \ldots & u_{{i - 1},j} & u_{i,j} & u_{{i + 1},j} & \ldots \\ \ldots & u_{{i - 1},{j + 1}} & u_{i,{j + 1}} & u_{{i + 1},{j + 1}} & \ldots \\ \ldots & \ldots & \ldots & \ldots & \ldots \end{matrix}$

while equations [2.6 and 2.7] specialize and are detailed as follows:

u _(i, j) ^([n+1]) =f(u _(i, j) ^([n]),   [2.9]

, u_(i−1, j−1) ^([n]), u_(i, j−1) ^([n]), u_(i+1, j−1) ^([n]), u_(i−1, j) ^([n]), u_(i+1, j) ^([n]), u_(i−1, j+1) ^([n]), u_(i, j+1) ^([n]), u_(i+1, j+1) ^([n]),

, w_((i, j),(i−1, j−1)) ^([n]), w_((i, j),(i, j−1)) ^([n]), w_((i, j),(i+1, j−1)) ^([n]), w_((i, j),(i−1, j)) ^([n]),

, w_((i, j),(i+1, j)) ^([n]), w_((i, j)(i−1, j+1)) ^([n]), w_((i, j),(i, j+1)) ^([n]), w_((i, j),(i+1, j+1)) ^([n]))

w _((i, j),(i−1, j−1)) ^([n+1]) =g(u _(i, j) ^([n]) , u _(i−1, j−1) ^([n]) , w _((i, j),(i−1, j−1)) ^([n]))   [2.10]

w _((i, j),(i, j−1)) ^([n+1]) =g(u _(i, j) ^([n]) , u _(i, j−1) ^([n]) , w _((i, j),(i, j−1)) ^([n]))

w _((i, j),(i+1, j−1)) ^([n+1]) =g(u _(i, j) ^([n]) , u _(i+1, j−1) ^([n]) , w _((i, j),(i+1, j−1)) ^([n]))

w _((i, j),(i−1, j)) ^([n+1]) =g(u _(i, j) ^([n]) , u _(i−1, j) ^([n]) , w _((i, j),(i−1, j)) ^([n]))

w _((i, j),(i+1, j)) ^([n+1]) =g(u _(i, j) ^([n]) , u _(i+1, j) ^([n]) , w _((i, j),(i+1, j)) ^([n]))

w _((i, j),(i−1, j+1)) ^([n+1]) =g(u _(i, j) ^([n]) , u _(i−1, j+1) ^([n]) , w _((i, j),(i−1, j+1)) ^([n]))

w _((i, j),(i, j+1)) ^([n+1]) =g(u _(i, j) ^([n]) , u _(i, j+1) ^([n]) , w _((i, j),(i, j+1)) ^([n]))

w _((i, j),(i+1, j+1)) ^([n+1]) =g(u _(i, j) ^([n]) , u _(i+1, j+1) ^([n]) , w _((i, j),(i+1, j+1)) ^([n])).

In the general case of a phenomenon with a relevant topology in a D dimensional space and with minimum connected elements with radius G, a variation of a unit at step n, determines at step n+1 a propagation of the effect up to distant unit g(n+1) positions, with:

g(n+1)=(n+1)·G   [2.11]

and so, still at step n+1, the number r(n+1) of units hit by the variation of the neighbourhood, excluding the central unit, is equal to:

r(n+1)=(2·(n+1)·G+1)^(D)−1   [2.12]

Similarly, in addition it is possible to observe how the number of delay steps Δn with which two units ux and u_(x) _(S) influence each other is equal to:

$\begin{matrix} {{\Delta \; n} = {\max\limits_{1 \leq S \leq D}\left( {0,{\left\lceil \frac{{x_{S} - x}}{G} \right\rceil - 1}} \right)}} & \lbrack 2.13\rbrack \end{matrix}$

Therefore, basing on such considerations it can be noted how equations [2.6 and 2.7] can easily led to:

$\begin{matrix} \begin{matrix} {{u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack{n + 1}\rbrack}=={f^{\lbrack n\rbrack}\begin{pmatrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack 0\rbrack},\ldots \mspace{14mu},} \\ {u_{{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}}^{\lbrack 0\rbrack},\ldots \mspace{14mu},} \\ {w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}})}}^{\lbrack 0\rbrack},\ldots} \end{pmatrix}}} =} \\ {= {f^{\lbrack n\rbrack}\begin{pmatrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack 0\rbrack},\ldots \mspace{14mu},} \\ {u_{x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}}^{\lbrack 0\rbrack},\ldots \mspace{14mu},} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}})}}^{\lbrack 0\rbrack} \end{pmatrix}}} \\ {= {f^{\lbrack n\rbrack}\left( {u_{x}^{\lbrack 0\rbrack},\ldots \mspace{14mu},u_{x_{S}}^{\lbrack 0\rbrack},\ldots \mspace{14mu},w_{x,x_{S}}^{\lbrack 0\rbrack}} \right)}} \end{matrix} & \lbrack 2.14\rbrack \\ {\mspace{79mu} {and}} & \; \\ {w_{{({x_{1},x_{2}\;,\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({{x_{1} + k_{1}},{x_{2} + k_{2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{D}}})}}^{\lbrack{n + 1}\rbrack} = {{{g^{\lbrack n\rbrack}\begin{pmatrix} \begin{matrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack 0\rbrack},} \\ {u_{{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}}^{\lbrack 0\rbrack},} \end{matrix} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{{SD}\;}}})}}^{\lbrack 0\rbrack} \end{pmatrix}}=={g^{\lbrack n\rbrack}\begin{pmatrix} \begin{matrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack 0\rbrack},} \\ {u_{x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}}^{\lbrack 0\rbrack},\ldots \mspace{14mu},} \end{matrix} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}})}}^{\lbrack 0\rbrack} \end{pmatrix}}} = {g^{\lbrack n\rbrack}\left( {u_{x}^{\lbrack 0\rbrack},u_{x_{S}}^{\lbrack 0\rbrack},w_{x,x_{S}}^{\lbrack 0\rbrack}} \right)}}} & \lbrack 2.15\rbrack \end{matrix}$

being valid:

∀u_(x) ^([0])e∀w_(x, x) _(S) ^([0])|(x, x_(S))∈I_(x) ^((n+1)G)   [2.16]

By means of them it can be pointed out how the path described by the dynamic system, composed of the phenomenon matrix (i.e. pixels of the starting image), during the evolution depends on initial values of units and of connections within a neighbourhood that expands at each step. The fact that units and connections depend on initial values is represented by the sequence of functions ƒ^([n]) and g^([n]):

the first one being composed of functions with a number of arguments that increases with n and it is equal to:

2·(2·(n+1)·G+1)^(D)−1   [2.17]

while the second one has functions with the same number of arguments.

[2.6] and [2.7] indicate the evolution of units and connections of a phenomenon with a relevant topology towards an attractor representing the set of its solutions. Both of them can be provided in two degenerate forms requiring a special attention.

The first one considers fixed connections. In this case, connections are fixed at their initial value, while as regards units we have:

$\begin{matrix} \begin{matrix} {{u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack{n + 1}\rbrack}=={f\begin{pmatrix} \begin{matrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack n\rbrack},\ldots \mspace{14mu},} \\ {u_{{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}}^{\lbrack n\rbrack},\ldots \mspace{14mu},} \end{matrix} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}})}}^{\lbrack 0\rbrack} \end{pmatrix}}} =} \\ {= {f\begin{pmatrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack n\rbrack},\ldots \mspace{14mu},} \\ {u_{x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}}^{\lbrack n\rbrack},\ldots \mspace{14mu},} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}})}}^{\lbrack 0\rbrack} \end{pmatrix}}} \\ {= {f\left( {u_{x}^{\lbrack n\rbrack},\ldots \mspace{14mu},u_{x_{S}}^{\lbrack n\rbrack},\ldots \mspace{14mu},w_{x,x_{S}}^{\lbrack 0\rbrack}} \right)}} \end{matrix} & \lbrack 2.18\rbrack \end{matrix}$

being valid:

∀u_(x) ^([n])e∀w_(x, x) _(S) ^([0])|(x, x_(S))∈I_(x) ^((n+1)G)   [2.19]

and with starting fixed values u_(x) ₁ _(, x) ₂ _(, . . . , x) _(D) ^([0])=u_(x) ^([0]) and w_((x) ₁ _(, x) ₂ _(, . . . , x) _(D) _(),(x) ₁ _(+k) _(S1) _(, x) ₂ _(+k) _(S2) _(, . . . , x) _(D) _(+k) _(SD) ₎ ^([0])=w_(x, x) _(S) ^([0]).

In this case connections of the phenomenon act only as an impulse of the process and as a constraint to the evolution of units occuring in the space of units.

The second degenerate case is symmetrical with respect to the first one as regards units and connections. In this case they are considered as units fixed at their initial value, acting as an impulse for the process. For such type of system the following equations are valid:

$\begin{matrix} {w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}})}}^{\lbrack{n + 1}\rbrack} = {w_{x,x_{S}}^{\lbrack{n + 1}\rbrack} = {{{g\begin{pmatrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{\lbrack 0\rbrack},} \\ {u_{{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}}^{\lbrack 0\rbrack},} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({{x_{1} + k_{S\; 1}},{x_{2} + k_{S\; 2}},\mspace{14mu} \ldots \mspace{14mu},{x_{D} + k_{SD}}})}}^{\lbrack n\rbrack} \end{pmatrix}}=={g\begin{pmatrix} {u_{x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}}^{0},} \\ {u_{x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{SD}}^{\lbrack 0\rbrack},} \\ w_{{({x_{1},x_{2},\mspace{14mu} \ldots \mspace{14mu},x_{D}})},{({x_{S\; 1},x_{S\; 2},\mspace{14mu} \ldots \mspace{14mu},x_{{SD}\;}})}}^{\lbrack n\rbrack} \end{pmatrix}}} = {g\left( {u_{x}^{\lbrack 0\rbrack},u_{x_{S}}^{\lbrack 0\rbrack},w_{x,x_{S}}^{\lbrack n\rbrack}} \right)}}}} & \lbrack 2.20\rbrack \end{matrix}$

being valid:

∀u_(x) ^([0])e∀w_(x, x) _(S) ^([n])|(x, x_(S))∈I_(x) ^((n+1)G)   [2.21]

and with starting fixed values u_(x) ₁ _(, x) ₂ _(, . . . , x) _(D) ^([0])=u_(x) ^([0]) and w_((x) ₁ _(, x) ₂ _(, . . . , x) _(D) _(),(x) ₁ _(+k) _(S1) _(, x) ₂ _(+k) _(S2) _(, . . . , x) _(D) _(+k) _(SD) ₎ ^([0])=w_(x, x) _(S) ^([0]).

The peculiarity of such evolution is the fact that the process setting the evolution of connections occurs in the connection space. Inside this space solutions to unit evolution are found.

Therefore, in such process, original values of units act as a mere constraint to the evolution of connections. The latter dinamically provide the value of units, and so, the attractor of such a process will be the redefinition of each unit as a mere relational element, generated by the dynamic negotiation between its initial value and the initial one of other units adjacent thereto.

A particular simple embodiment is the case of two-dimensional images wherein indexes i, j are the two dimensions of a plane image. Starting from such example it is possible to describe various known systems in the general D dimension case. The synthetic notation described above will be used in order to semplify the reading. The set of indexes representing coordinates of involved units will be replaced by points x and xs of the neighbourhood I_(x) ^(G). As already said, since position coordinates are equal for all images, the neighbourhood will be centered in the central point x, the unit ux that will be used as a reference will be supposed to be positioned therein and, positions of other units u_(x) _(S) falling inside the neighbourhood I_(x) ^(G) will be changed with respect to such position:

x _(S) =x+k _(S) with I _(x) ^(G)={(x, x _(S))|0<dist(x, x _(S))≦G}.   [2.22]

As noted above, families of the known method differs one with respect to the other depending on how they allow units and connections to evolve. Particularly they are divided into three families based on following evolution laws:

Fixed connections: units ux are allowed to evolve till reaching a stationary state, identifying the presence of an attractor. The stationary state, and so the attractor, change depending which evolution law is used. A connection matrix is used that is determined (firstly) by an equation called Automata Rule using the matrix of pixels of the given image.

Fixed units: Connections w_(x, x) _(S) are allowed to evolve till reaching a stationary state identifying the presence of an attractor. The stationary state, and so the attractor, change depending on which evolution law is used. It uses the matrix of pixels of the given image that remains constant at each processing cycle;

Dynamic Units and Connections: connections w_(x, x) _(S) , reach their own attractor on the basis of the matrix of units ux updating at each processing cycle. Now brightness of pixels of the matrix of units ux, is updated when the system evolves taking part in correcting the connection matrix.

From the above it is clear that known methods act as being based on the supposition that new morphologic and dynamic regularities, that can be seen in images processed by any of the three families mentioned above, are the result of local, deterministic and iterative operations performed on the matrix of pixels of the starting image and of the connection matrix of each pixel to its local neighbourhood.

The aim of the present invention is to enlarge relationships between the central pixel and its neighbouring pixels, in order to extend the range of operations to the whole system thus making the processing as a not strictly local one.

The invention achieves the above aims by providing a method of the type described hereinbefore and wherein the processing occurs by evolution iterative steps where each step is a function also of connections of neighbouring pixels with the pixel under examination, when each of said neighbouring pixels of the pixel under examination is considered also as a neighbouring pixel of at least one or of all pixels adjacent to said neighbouring pixel further to the said pixel under examination, which function is an immediate feedback contribution for determining appearance values of all other pixels in that the appearance valueo of each pixel of the image contributes to the determination of the new appearance values of all the other pixels of the new image resulting from the said interative step.

Therefore by the invention relationships between the central pixel and its neighbouring pixels are enlarged by the fact of comprising also relationships thereof when each of them is also the neighbouring pixel of all pixels adjacent thereto. In such case, an contrary to the prior art techniques in which each processing step determines the new value of a target pixel as a function only of the pixels inside a limited neighbourhood (for example a 3×3 square matrix) of the said target pixels considering the whole contributions of the function disclosed above at each processing cycle for obtaining the new image, means that the appearance values of each pixel give an immediate feedback contribution for determining the new appearance values all other pixels in the image. This can be represented by another example as all stresses coming from each point of the territory would contemporaneously take part in determining a mountain region.

The new method according to the present invention comprises the participation of all neighbouring pixels in evolving the connection matrix that at the end is used for creating pixel matrix with the new image resulting from the processing, in a more considerable way with respect to the case c) described above of the known method.

The method according to the present invention provides to use new equations considering values of neighbouring pixels and of its connections with the central pixel, and also subsequent order relationships deriving when each of them is considered as a neighbouring pixel of its own adjacent pixel, when the latter is considered as central pixel. That, repeated at each processing cycle, allows each pixel to give its contribution to each pixel distant therefrom by means of neighbouring pixels that propagate, like waves, such contribution.

Equations defining the method according to the present invention are divided in two sets:

The set of equations aiming at evolving the value of connections of each image point or pixel or voxel of the given image;

The set of equations aiming at evolving the value of the inner state of each image point or pixel or voxel of the given image.

Further improvements of the present invention are object of subclaims.

Characteristics of the invention and advantages deriving therefrom will be more clear from the following description and from annexed figures wherein:

FIG. 1 is a flowchart of the method according to the present invention.

FIG. 2 and FIG. 3 are an ellipse affected by noise in FIG. 2 taken as an horizontal section at the centre of the plan image of FIG. 3 respectively the size of the ellipse is 253×189 pixels (from T. Hansen, H. Neumann, Neural Networks 17 (2004) 647-662).

FIGS. 4 and 5 are two attempts for extracting the edge of the ellipse using a commercial software and particularly Adobe Photoshop 7.0.

FIG. 6 is the same attempt of FIGS. 4 and 5 but using the method according to the present invention stopped after five cycles i.e. after five iterations.

FIG. 7 is the processing result by a known processing method called Cell model with DOI.

FIG. 8 is the processing result by the method according to the invention wherein the rule used for stopping the sequence of iterative steps is the energy minimization criterion according to equation (17).

FIGS. 9 and 10 are an image of an ellipse and the corresponding position of the two focuses thereof.

FIGS. 11 and 12 are: the figure of the ellipse from FIG. 9 equalized and processed with the method according to the invention and the superimposition of the image of focuses of FIG. 10 on the processed image of FIG. 11 respectively.

FIGS. 13 a, 13 b, 13 c are as follows FIG. 13 a: breast Rx: detail of spiculate mass (Calma Project), FIG. 13 b: the processing result of the method according to the present invention after the first 7 cycles, FIG. 13 c is the piocessing result according to the present invention following the convergence.

FIG. 13 d is processing results of image 13 a obtained by the method of the present invention wherein different values of the threshold a (alpha) have been used.

FIGS. 14 a, 14 b, 14 c similarly to FIGS. 13 a to 13 c are processing results by the method of the present invention of a digital subtraction angiography: popliteal artery (Galeazzi Hospital of Milan) FIG. 14 a, the processing result by the method according to the invention carried out for the first 12 cycles FIG. 14 b and the processing result by the method according to the invention following the convergence FIG. 14 c respectively.

FIGS. 15 a and 15 b are a glandular cancer of the B type in a 74-year-old man wherein the starting CT scan shows a 22×22 mm background localized opacity in the lower left lobe of lung and the same carcinoma obtained by a CT scan 349 days after the initial scan which image shows an increased size (23×26 mm) and the development of a vascular convergence, while the attenuation at the tumor centre is slightly increased respectively.

FIG. 15 e is a sequence of images starting from image 15 a to image 15 a 6, images of 15 a 1 to 15 a 6 being processed using different positive values of α, for increasing the sensitivity at each processing in order to find patterns hidden in the background.

FIG. 15 f is a sequence of images starting from Image 15 b to image 15 b 6, images of 15 b 1 to 15 b 6 being processed by the method according to the present invention that is carried out decreasing values of α, in order to make the method at each processing less and less sensible to certain bright intensities, as if a return back in time occurs.

FIG. 15 c is a superimposition of FIGS. 15 a. 1: Time 0—present—α=0.0 and of FIG. 15 a. 5: Time 0—possible future—α=0.4 and wherein FIG. 15 b. 1 (in Black the real Tumor 1 year later) and FIG. 15 a. 5 (in White Tumor predicted one year before) have been manually superimposed without adjusting and stretching attempts. Therefore the non perfect correspondence is due to the different format of images taken in two different occasions.

FIG. 15 d is the photographic superimposition of FIG. 15 b. 5 (original prediction of the tumor) on the FIG. 15 a. 1 (real situation 1 year before), FIG. 15 a. 1 (in Black: Tumor one year before) and FIG. 15 b. 6 (in White: possible past of the tumor reconstructed one year later) being manually superimposed without adjusting and stretching attempts. Therefore the non perfect correspondence is due to the different format of images taken in two different occasions

FIGS. 16 a and 16 b are a glandular cancer of the B type in a 64-year-old man the initial CT scan showing a small solid nodule (arrow) with a minimal glassy opacity of the adjacent background (15×10 mm) in the right median lobe, and the same carcinoma for which a CT scan 1137 has been obtained after the initial CT scan and which shows an increased size (25×20 mm) and a vascular convergence and wherein the solid attenuation area is also increased respectively.

FIG. 16 e is a sequence of images starting from image 16a to image 16 a 6, 16 a 1 to 16 a 6 images being processed with different positive values of α.

FIG. 16 c is the superimposition of FIGS. 16 b and 16 a.5 as a prediction of the tumor shape with α=0.4 by means of the method according to the present invention.

FIG. 16 d is the superimposition of FIGS. 16 b and 16 a.6 as a predicition of the tumor shape with α=0.5 by means of the method according to the present invention.

These processing equations will be reproduced below for which the following is defined:

(Eq 0)

-   W_(i, j) ^([0])=0.0; initial value of the connection between any two     pixels. -   u_(i)∈[−1+α,1+α]; Initial scaling of the value of all pixels of the     given image. -   α=scaling threshold of pixel values. -   x^([n])=x at n step; any variable (connection, pixel, etc.) at a     certain processing cycle. -   P_(i) ^([n])=i-th Pixel at n step; -   Out_(i) ^([n])=i-th Output at n step; -   S_(i) ^([n])=i-th State at n step; -   N=neighbouring nodes.

The set of equations regulating the value of connections of each pixel can be divided in four steps:

$\begin{matrix} {{D_{i} = {\underset{j}{\sum\limits^{N}}\left( {u_{j}^{\lbrack n\rbrack} - W_{i,j}^{\lbrack n\rbrack}} \right)}};} & \left( {{Eq}\mspace{14mu} 1} \right) \end{matrix}$

As it is clear, the factor D_(i) is not a distance, but it is merely a sum of differences between the value of each pixel and the weight with which the central pixel is connected thereto.

$\begin{matrix} {{J_{i} = \frac{e^{D_{i}} - e^{- D_{i}}}{e^{D_{i}} + e^{- D_{i}}}};} & \left( {{Eq}\mspace{14mu} 2} \right) \end{matrix}$

The variable J_(i) is the result of the application of the hyperbolic tangent function to the factor D^(i). This operation has three aims:

a) Enclosing possible values of D_(i) in a finite interval;

b) Providing a smooth sigmoid shape to possible values of D_(i);

c) Working with a function differentiable in each point.

ΔW _(i, j) ^([n])=−(u _(i) ^([n]) ·J _(i))·(−2·J _(i))·(1−J _(i) ²)·(u _(j) ^([n]) −W _(i, j) ^([n]));   (Eq 3)

This equation can be divided into three components:

a) the first component, −(u_(i) ^([n])·J_(i)), weights the value of the central pixel with the variable J_(i) depending on its neighbourhood (weights and pixels). However, it reverses the classical mathematic relation among signs: in this case, the concordance produces a negative value, while the discordance produces a positive value. That means:

1. If the central pixel tends towards black (negative value) and weights connecting it to its neighbourhood on average are greater than pixels of such neighbourhood, the value of such portion of the equation will be negative;

2. If the central pixel tends towards black (negative value) and weights connecting it to its neighbourhood are on average smaller than pixels of such neighbourhood, the value of such portion of the equation will be positive;

3. If the central pixel tends to white (positive value) and weights connecting it to its neighbourhood are on average greater than pixels of such neighbourhood, the value of such portion of the equation will be positive;

4. If the central pixel tends to white (positive value) and weights connecting it to its neighbourhood are on average smaller than pixels of such neighbourhood, the value of such portion of the equation will be negative;

b. the second component of the equation (3), (−2·J_(i))·(1−J_(i) ²), is the second derivative of J_(i). It analyses how the variation between neighbouring pixels and weights with which the central pixel is connected thereto changes;

c. the third component of the equation (3) weights the whole equation by the difference between each neighbouring pixel and the weight with which the central pixel is connected thereto.

W _(i, j) ^([n+1]) =W _(i, j) ^([n]) +ΔW _(i, j) ^([n]);   (Eq 4)

In this equation weights connecting the central pixel to each pixel of its neighbourhood are updated.

In these first four equations defining four steps the following can be noted:

a. all connections between the central pixel and its neighbourhood depend on the value of the neighbouring pixels;

b. each connection between the central pixel and each pixel of its neighbourhood depends on all neighbouring pixels.

Therefore, the evolution of weights is a first order transformation of each pixel of the given image (each pixel with respect to its neighbourhood).

These first equations of the method according to the present invention are already able to determine interesting transformations of any image.

At each evolution cycle it is sufficient to compute the average of output weight values of each central pixel and to suitably scale such value between 0 and 255 (range of values that pixels can obtained in the image) in order to achieve transformations dividing the image in two parts: figure and background.

$\begin{matrix} {{{P_{i}^{\lbrack n\rbrack} = {{{Scale}_{Pixel} \cdot \frac{\overset{N}{\sum\limits_{j}}W_{i,j}^{\lbrack n\rbrack}}{N}} + {Offset}_{Pixel}}};}{{P_{i}^{\lbrack n\rbrack} \in \left\lbrack {0,{MaxPixelOut}} \right\rbrack};}} & \left( {{Eq}\mspace{14mu} 5} \right) \\ {{{{Scale}_{Pixel} = \frac{MaxPixelOut}{\left( {{{Max}W} - {{Min}W}} \right)}};}{{Offset}_{Pixel} = {- \frac{{{Min}W} \cdot {MaxPixelOut}}{{{Max}W} - {{Min}W}}}}} & \left( {{Eq}\mspace{14mu} 6} \right) \end{matrix}$

The fact of using different values of the value a at the initial scaling (Eq 0), leads to a change in figure edges with respect to the background.

As regards the set of equations aiming at evolving the value of the inner state of each image point or pixel or voxel of the given image, such equations whose aim is to modify the activation of units u can also be divided in different steps:

$\begin{matrix} {{{{Out}_{i}^{\lbrack n\rbrack} = {{{Scale}_{Out} \cdot \frac{\overset{N}{\sum\limits_{j}}W_{i,j}^{\lbrack n\rbrack}}{N}} + {Offset}_{Out}}};}{{{Out}_{i}^{\lbrack n\rbrack} \in \left\lbrack {{- 1},{+ 1}} \right\rbrack};}} & \left( {{Eq}\mspace{14mu} 7} \right) \\ {{{{Scale}_{Out} = \frac{2}{{{Max}W} - {{Min}W}}};}{{Offset}_{Out} = {- \frac{{{Max}W} + {{Min}W}}{{{Max}W} - {{Min}W}}}}} & \left( {{Eq}\mspace{14mu} 8} \right) \end{matrix}$

The aim of such equations is to scale the average of the value of connections of each central pixel with its neighbourhood in a numerical set in the interval {−1,+1}.

The result of such scaling, taken as its absolute value, defines the inner activation state of each central pixel:

S _(i) ^([n])=|Out_(i) ^([n])|;   (Eq 9)

Therefore, considering the pixel value, it can be said that: the more the average of weights connecting each central pixel to its own neighbourhood is far away from a neutral value (“zero” if values are scaled between −1 and +1, or “grey 127” if values are scaled between 0 and 255), the more the inner state of that central pixel is active.

Now by means of the following equation, we give each pixel a “delta factor”, ΔS_(i, j) ^([n]), considering its activation value and the activation value of each pixel of which it is the neighbourhood:

$\begin{matrix} {{{\Delta \; S_{i,j}^{\lbrack n\rbrack}} = {{{- {Tan}}\; {H\left( {S_{i}^{\lbrack n\rbrack} + u_{j}^{\lbrack n\rbrack}} \right)}} = {- \frac{^{({S_{i}^{\lbrack n\rbrack} + u_{j}^{(n)}})} - ^{- {({S_{i}^{\lbrack n\rbrack} + u_{j}^{\lbrack n\rbrack}})}}}{^{({S_{i}^{\lbrack n\rbrack} + u_{j}^{\lbrack n\rbrack}})} + ^{- {({S_{i}^{\lbrack n\rbrack} + u_{j}^{\lbrack n\rbrack}})}}}}}};} & \left( {{Eq}\mspace{14mu} 10} \right) \end{matrix}$

The equation (10) is important for various reasons:

each pixel of a two-dimensional image, if the radius is an unit one, has a neighbourhood made of at least 8 other pixels; this means that, when Eq. (10) is applied, the more the inner state of the central pixel tends towards 1 and the more the activation of the neighbouring pixel is greater then zero, the more ΔS^([n]) _(i, j) will have an opposite sign with respect to the value of the neighbouring pixel; while, the more the inner state of the central pixel tends towards 1 and the more the activation of the neighbouring pixel tends towards −1, the more ΔS^([n]) _(i, j) will tend towards zero.

The square sum of 1 complements of ΔS^([n]) _(i, j) of each neighbourhood of each neighbouring pixel, suitably weighted, will define the second order φ_(i) ^([n]) of each image pixel.

$\begin{matrix} {{\phi_{i}^{\lbrack n\rbrack} = {{LCoef} \cdot u_{i}^{\lbrack n\rbrack} \cdot {\sum\limits_{j}^{N}\left( {1 - {\Delta \; S_{j,i}^{{\lbrack n\rbrack}^{2}}}} \right)}}};} & \left( {{Eq}\mspace{14mu} 11} \right) \end{matrix}$

Now the following equation takes in consideration a function of the sum of φ_(j) ^([n]) composing the neighbourhood of each pixel, and so, they take into consideration third order variations of each pixel:

$\begin{matrix} {{\psi_{i}^{\lbrack n\rbrack} = {{\overset{N}{\sum\limits_{j}}{{Tan}\; {H\left( \phi_{j}^{\lbrack n\rbrack} \right)}}} = {\sum\limits_{j}^{N}\frac{^{\phi_{j}^{\lbrack n\rbrack}} - ^{- \phi_{j}^{\lbrack n\rbrack}}}{^{\phi_{j}^{\lbrack n\rbrack}} + ^{- \phi_{j}^{\lbrack n\rbrack}}}}}};} & \left( {{Eq}\mspace{14mu} 12} \right) \end{matrix}$

While the vector φ_(i) ^([n]) defines the closed edge of the given image, the vector ψ_(i) ^([n]) is responsible for the progressive generation of edge waves moving from the initial edge to the most bright portion of the image, defining a sort of “skeleton” of the image by means of their constructive and destroying interferences.

The following equation considers the intersection between second and third order contributions suitable for defining the final variation that each image unit will receive:

δu _(i) ^([n])=φ_(i) ^([n])·ψ_(i) ^([n]);   (Eq 13)

As a result, the final equation modifying the activation of each image unit at the subsequent cycle will be as follows:

u _(i) ^([n+1]) =u _(i) ^([n]) +δu _(i) ^([n]).   (Eq 14)

The rule for stopping iterative processing steps of the present method is related to the stabilization of connection value (see Eq (3)).

More in details, the energy of the system, E^([n]), is given by summing changes of connection values of the whole image at each processing cycle, according to the following equation:

${E^{\lbrack n\rbrack} = {\sum\limits_{x = 1}^{X}{\sum\limits_{s = 1}^{N}\left( {\Delta \; w_{x,x_{s}}^{\lbrack n\rbrack}} \right)^{2}}}};$

where:

X=cardinality of pixel of the given image

N=Neighbourhood with unit radius of each pixel

X, x_(S)=x-th pixel and its neighbourhood

(Eq 15a)

The system evolution causes the system energy to decrease as processing cycles increase:

$\begin{matrix} {{\lim \; \underset{n\rightarrow\infty}{E^{\lbrack n\rbrack}}} = 0.} & \left( {{Eq}\mspace{14mu} 15b} \right) \end{matrix}$

That means that the system energy at the end of the evolution will be minimum:

E*=min{E ^([n])}  (Eq 15c)

Therefore, in a more abstract way the method according to the present invention can be represented by the flowchart of FIG. 1.

Initial values of pixels define the activation U of each pixel and the initial connection matrix as defined by above equations. The box deltaW denoted by 10 identifies evolution steps of the connection matrix followed by the determination of the inner state S of each pixel on whose base the evolution of the activation U of pixels is performed. Starting from such new value it is possible to carry out one or more further iterative steps till reaching the final processing condition according to which the matrix of weights defined by the evolution of the last processing step produces values of pixels of the processed image.

Various tests have shown the ability of the method according to the present invention in extracting the edge from an image, after few cycles.

Test 1

As the starting image the image of an ellipse of FIG. 3 has been used subjected to noise such as shown in FIG. 2. Such image has been taken from document T. Hansen, H. Neumann, Neural Networks 17 (2004) 647-662.

The extraction of the edge of the ellipse of said image has been performed by using a commercial software

Photoshop (Adobe Photoshop 7.0). Such as shown in FIGS. 4 and 5 the commercial software has some troubles in extracting the ellipse edge from the background.

The same attempt was performed by using the method according to the present invention. The result obtained after cycles is composed of a sharp and accurate edge shown in FIG. 6.

The starting figure has been processed also by using a new cell model with dominating opponent inhibition (T. Hansen, H. Neumann, “A simple cell model with dominating opponent inhibition for a robust image processing”, Neural Networks 17 (2004) 647-662). The best result shown in such work is shown in FIG. 7. It is clear that also in such model the edge of the figure has a variable intensity and it is made smoother by a subsequent logic interpolation. By enlarging the original figure it can be noted how the darker ones on the ellipse edge have an uneven trend that is typical of digitalized circles and ellipses.

On the contrary, the method according to the present invention, produces a perfectly closed ellipse, having a constant intensity line and an edge reflecting the negotation process dinamically independently reached by local pixels.

After the first cycles, when the ellipse edge is defined, the method according to the present invention goes on with its path towards the convergence, outlining the inner skeleton of the ellipse, such as shown in FIG. 8.

The method, after having found and pointed out the edge of the prevalent figure in the image (the ellipse), has spontaneously produced “waves” towards the inner portion of the figure. The fact that such waves meet one with the other has produced constructive interferences (values tending toward the white) and destroying ones (values tending towards the black). Therefore destroying interferences have drawn the skeleton of the figure with such an accuracy to perfectly identify also the two ellipse focuses.

Test 2

A specific test has been taken in order to verify the above assertion. An ellipse has been graphically generated by means of MatLab and its focuses have been analitically computed. The image of the ellipse and of focuses are indicated in FIGS. 9 and 10. Then the empty shape of the ellipse has been processed by means of the method according to the present invention, and, finally, the image obtained by the method according to the present invention has been superimposed on the one that analitically shows the position of the two focuses (FIG. 10). The result of the processing and superimposition are shown in FIGS. 11 and 12.

The method according to the present invention can have important medical applications due to its ability in extracting from an image figures constituting it, on the basis of brightness. In the breast tumor field the fact of defining the edge of the tumor and its structure can be useful for the physician. An example is shown in the sequence of FIGS. 13 a to 13 c. In this case the image 13 a shows a typical radiographic diagnostic image of the breast wherein a so called spiculate mass can be noted. The image has been processed by using the method according to the present invention obtaining the results of FIGS. 13 b after first 7 iteration cycles of the method and the results of FIG. 13 c upon reaching the convergence condition.

Such as shown in FIGS. 14 a to 14 c the method according to the present invention provides useful results also in the case of particularly sophisticated images such as digital subtraction angiography. Said figures clearly show the ability of the method according to the present invention in finding inner stenoses which were not apparent by the surgeon.

In such processings values of the initial image have been scaled between −1 and +1 and so factor α of Eq(0) was implicitly equal to zero. Such factor determines the sensitivity threshold of the system to the image brightness. A table indicating the ratio between the threshold and unit scaling exemplarily sums up what said above:

TABLE 1 Ratio between the threshold and unit scaling. α = −1.0 u ε [−2.0, 0.0]; α = −0.9 u ε [−1.9, +0.1]; α = −0.8 u ε [−1.8, +0.2]; α = −0.7 u ε [−1.7, +0.3]; α = −0.6 u ε [−1.6, +0.4]; α = −0.5 u ε [−1.5, +0.5]; α = −0.4 u ε [−1.4, +0.6]; α = −0.3 u ε [−1.3, +0.7]; α = −0.2 u ε [−1.2, +0.8]; α = −0.1 u ε [−1.1, +0.9]; α = 0.0 u ε [−1.0, +1.0]; α = +0.1 u ε [−0.9, +1.1]; α = +0.2 u ε [−0.8, +1.2]; α = +0.3 u ε [−0.7, +1.3]; α = +0.4 u ε [−0.6, +1.4]; α = +0.5 u ε [−0.5, +1.5]; α = +0.6 u ε [−0.4, +1.6]; α = +0.7 u ε [−0.3, +1.7]; α = +0.8 u ε [−0.2, +1.8]; α = +0.9 u ε [−0.1, +1.9]; α = +1.0 u ε [0.0, +2.0];

The image of FIG. 13 a can be processed by the method according to the present invention with different thresholds α in an independent way. Images processed with different thresholds α will point out final images with different figures. Smallest factors α will point out only figures provided with a more intense brightness, while greatest factors α will point out only figures provided with a less and less intense brightness. Therefore different values of α perform on the given image a scan of different bright intensities.

The image Rx of the breast mass of FIG. 13 can clearly show what said above by the sequence of results shown in FIG. 13 d and pointed out by the corresponding threshold value α.

If the brightness intensity is somehow proportional to the activity of the pathology under examination in a medical image, so in such cases different scans obtained by the method according to the present invention can be used in order to find a time order of the development of the pathology.

For example, in lung tumors, the fact that the different brightness intensity in computerized tomography (CT) reflects regions where the tumor is more active can be supposed. In the case of malignant tumors more peripherical regions can seem as dark as the background to the human eye, while on the contrary they would have brightness “light shadows”, indicating exploratory and diffusive strategies of the tumor. Such very small changes in the brightness can be so thin that other analysing algorithms could easily consider them as “noise” and could remove them. On the contrary the method according to the present invention seems able to differentiate cases when brightness variations of the background are a simple noise and when such variations are an hardly outlined image model.

As it will be shown below, the fact of scanning the original image by the method according to the present invention by changing the threshold a makes it possible to point out some development shapes of lung tumors one or two years before.

In order to verify such theory different tests have been taken some examples of which are listed below. A study and images published by a group of research workers in 2000 on a well known scientific review have been used for tests:

-   Authors: AOKI T. (1), NAKATA H. (1), WATANABE H. (1), NAKAMURA K.     (1), KASAI T. (2), HASHIMOTO H. (2), YASUMOTO K. (3), KIDO M. (4).

Affilitions:

-   1) Department of Radiology, University of Occupational and     Environmental Health School of Medicine, Yahatanishi-ku,     Kitakyushu-shi, 807-8555, Japan -   (2) Department of Pathology and Oncology, University of Occupational     and Envioronmental Health School of Medicine, Kitakyushu-shi,     807-8555, Japan -   (3) Department of 2nd Surgery, University of Occupational and     Environmental Health School of Medicine, Kitakyushu-shi, 807-8555,     Japan -   (4) Department of Respiratory Disease, University of Occupational     and Environmental Health School of Medicine, Kitakyushu-shi,     807-8555, Japan -   Title: “Evolution of peripheral lung adenocarcinomas: CT findings     correlated with histology and tumor doubling time”. -   Review: American journal of roentgenology (Am. j. roentgenol.) 2000,     vol. 174, no 3, pp. 763-768.

Two pairs of lung tumor images have been taken from such research (Aoki 2000). Each pair showed the tumor at first CT moment (time 0) and one or 3 years later (Time 1). Research workers stated that at Time 0 images did not allow the tumor to be definitely diagnosed.

The two pairs of images are the ones of FIGS. 15 a and 15 b and 16 a and 16 b respectively.

On the pair of images 15 a and 15 b two tests have been taken: the first one by processing the first image (FIG. 15 a) by different positive values of α. That in order to increase at each processing operation the sensitivity in finding patterns hidden in the background. The processing result is shown in the sequence of images 15 a 1 to 15 a 6 of FIG. 15 e.

It can be noted how FIG. 15 a.1 photographs very accurately the edge of the tumor of the source figure (FIG. 15 a), while in FIG. 15 a. 2 to FIG. 15 a. 5 the tumor edge changes more and more and seemingly without a reason with respect to the original figure (FIG. 15 a).

However it can be noted that edges of FIGS. 15 a. 5 and 15 a. 6 are very much alike the shape the tumor will take in the same patient a year later (see FIG. 15 b).

In the second test the tumor image 1 year later (FIG. 15 b) has been processed. This time, different processings have been performed decreasing the values of α. That in order to make the method less and less sensible to certain brightness intensities at each processing, as a return back in time is desired. Processing results of this second test are shown in the sequence of images 15 b 1 to 15 b 6 of FIG. 15 f.

It can be noted from these images that the tumor edge of FIG. 15 b. 1 is like the tumor edge of FIG. 15 a. 5. Similarly, the tumor edge of FIG. 15 a. 1 can be practically superimposed on the tumor edge of FIG. 15 b. 6.

The transformation of the breast tumor shape at time 0 in the processing with α=0.0 (present time) and with α=−0.4 (possible future) is clear:

The photographic superimposition of FIG. 15 a. 5 (prediction of the tumor development) on FIG. 15 b. 1 (real situation one year later) shows that the method according to the present invention is able to find the hidden development model of the tumor such as shown in FIGS. 15 c.

Similarly the transformation of the tumor shape at time 1 in the processing with α=0.0 (present time) and with α=−0.4 (possible past) is also clear. As it results from FIG. 15 d, the photographic superimposition of FIG. 15 b. 5 (original, prediction of tumor) on FIG. 15 a. 1 (real situation 1 year before) shows that the present method is able to find also in this case the hidden generation model of the tumor:

The same procedure has been repeated with the second pair of images of FIGS. 16 a and 16 b. The latter have been taken from the same patient at a distance of about 3 years. In this case it was a different type of tumor.

Such as shown in the sequence of images of FIGS. 16 a 1 to 16 a 6 of FIG. 16 the present method processed the image at time 0 (FIG. 16 a) with different kind of positive values of α:

The processing of the tumor shape in FIGS. 16 a. 5 and 16 a. 6 seems a good prediction of the development of the tumor 3 years later.

The fact of superimposing the real tumor shape at time 1 (3 years later) on the two predictions of the method according to the present invention with two independent parameters of a on the scanned image 3 years before (see below) confirms the specific ability of the system in isolating and pointing out informative models provided in the starting image with brightness levels that are so thin and specific to result as noise variations for other algorithms and to be not apparent by human eye.

From above tests it is clear that the method according to the present invention is able to read in the image at Time 0 brightness variations that are hardly to be seen. These thin brightness variations seem to outline the tumoral development plan that will be achieved at time 1.

The method according to the present invention provides the dynamic evolution both of local connection values, and of state value of each unit. Regarding such complex evolutive dynamics the image intended to be changed is a suitable scaling, at each cycle, of the average of values of all local connections about each pixel-unit.

From the above it is clear that the most important characteristics of the method are the following ones:

a. in each image the method isolates closed figures and background in few cycles on the base of a specific brightness intensity (factor α).

b. with the factor α changing, the method selects different figures and background as if it read the brightness intensity as “different type of frequencies”.

c. at the end of the evolution the method has filled figures or the background (depending on which part is the most bright) with waves, propagating from isolated figures. The shape of each wave will be homologous to the figure shape acting as its source. Destroying and constructive interferences among these waves outline the skeleton of figures.

d. The evolution of the method with different values of parameter α scans different portions of the same image, provided with a different brightness. In the case of lung tumors detected by CT the method seems Able to read the past and future history of the tumor from various bright traces left by it and from the ones revealing its development project. This is due to the fact that the method is able to isolate, almost geologically, different brightness layers in the same image; layers that are not apparent by human eye and by other mathematic imaging systems.

These characteristics of the method according to the present invention are due to some of its mathematic characteristics:

-   -   The method architecture, providing the independent evolution         both of its local connections and of its units in space and         time.     -   The algorithm aiming at projecting each image from pixels to the         grid of local connections among pixels. The user, during the         system evolution, does not see the evolution of image         pixel-units, but he sees the weight value locally connecting         each pixel to its first neighbours.     -   Equations aiming at creating attractions between different         pixels and repulsions between similar pixels (from Eq (1) to         Eq(4)), aid in making closed figures inside the image.     -   Equations changing the inner state of each unit consider delta         3° order between each pixel and neighbourhoods of the         neighbourhood of its neighbourhood (from Eq(5) to Eq(14)). Such         cascade propagation helps the system in spontaneously closing         figures that it has found and in generating waves that are         homothetic with respect to the source figure.     -   The initial scaling parameter α of the image (Eq(0)) allows         different “brightness intensity frequencies” to be isolated that         are so thin that are considered merely a noise or cannot be         seen. Starting from a suitably defined parameter α the method         according to the present invention, by means of its equations,         is able to isolate only bright signals, even if faint ones,         tending to make a closed shape, regularizing them; while the         ones outside any closed figure, only at such brightness level,         are spontaneously removed. 

1. Image processing method wherein each image is composed of an array of image points, so called pixels or voxels particularly in a two-, three-, or more dimensional space respectively each image point being univocally defined by its position within the array of image points and by one or more numerical parameters defining the image point appearance as regards characteristics of brightness, grey, colour shade or the like, and wherein each image point is considered to be a node of an artificial neural network, the image being processed as a function of parameters defining the appearance of each pixel as values of the nodes of said artificial neural network and as a function of connections of each pixel under processing with neighbouring pixels composed of pixels of a predetermined subset of pixels, particularly with neighbouring pixels of said pixel under processing, so called pixel window, while pixels of the new image i.e. of the processed image are obtained by iterative evolution steps of parameters defining the appearance such as evolution steps of the value of nodes or by iterative evolution steps of values of the set of connections or by a combination of said evolutions, characterized in that the processing occurs by evolution iterative steps where each step is a function also of connections of neighbouring pixels with the pixel under examination, when each of said neighbouring pixels of the pixel under examination is considered also as a neighbouring pixel of one ore more or all pixels adjacent to said neighbouring pixel, which function is an immediate feedback contribution for determining appearance values of all other pixels in that the appearance valueo of each pixel of the image contributes to the determination of the new appearance values of all the other pixels of the new image resulting from the said interative step.
 2. Method according to claim 1, characterized in that the connection matrix obtained at the end of the processing is used for generating the matrix of image points (pixels or voxels) constituting the new image resulting from the processing.
 3. Method according to claim 1 or 2, characterized in that it comprises equations evolving image points and/or the connection matrix of said image points considering not only values of neighbouring image points and their connections with the central image point, but also subsequent order relationships deriving when each of said neighbouring image point is considered as a neighbouring image point of each adjacent image point, when the latter is considered as the central image point and it provides the iteration of said equation at each processing cycle, so each image point gives its own contribution to each image point distant therefrom by means of neighbouring image points that propagate, like waves, such contribution.
 4. Method according to one or more of the preceding claims, characterized in that it comprises processing steps determining an evolution of the value of connections of each image point or pixel or voxel of the given image in combination with processing steps determining the evolution of the value of the inner state of each image point or pixel or voxel of the given image.
 5. Method according to one or more of the preceding claims, characterized in that whole processing steps determining an evolution of the value of connections of each image point or pixel or voxel of the given image is composed of the following equations where the following definitions are valid: W_(i, j) ^([0])=0.0; initial value of the connection between any two pixels. u_(i)∈[−1+α,1+α]; Initial scaling of the value of all pixels of the given image. α=scaling threshold of pixel values. x^([n])=x at n step; any variable (connection, pixel, etc.) at a certain processing cycle. P_(i) ^([n])=i-th Pixel at n step; Out_(i) ^([n])=i-th Output at n step; S_(i) ^([n])=i-th State at n step; N=neighbouring nodes. and such whole can be divided in four steps defined by four equations: $\begin{matrix} {{D_{i} = {\overset{N}{\sum\limits_{j}}\left( {u_{j}^{\lbrack n\rbrack} - W_{i,j}^{\lbrack n\rbrack}} \right)}};} & \left( {{Eq}\mspace{14mu} 1} \right) \end{matrix}$ where the factor D_(i) is merely a sum of differences between the value of each image point, i.e. each pixel and the weight with which the central image point or pixel is connected thereto. $\begin{matrix} {{J_{i} = \frac{^{D_{i}} - ^{- D_{i}}}{^{D_{i}} + ^{- D_{i}}}};} & \left( {{Eq}\mspace{14mu} 2} \right) \end{matrix}$ where the variable J_(i) is the result of the application of the hyperbolic tangent function to the factor D_(i) for determining the following effects: enclosing possible values of D_(i) in a finite interval; providing a smooth sigmoid shape to possible values of D_(i); working with a function differentiable in each point. ΔW _(i, j) ^([n])=−(u _(i) ^([n]) ·J _(i))·(−2·J _(i))·(1−J _(i) ²)·(u _(j) ^([n]) −W _(i, j) ^([n]));   (Eq 3) comprising three components that are the following: a) the first component, −(u_(i) ^([n])·J_(i)), weighting the value of the central image point or central pixel with the variable J_(i) depending on its neighbourhood (weights and pixels), while it reverses the classical mathematic relation among signs, particularly for example the concordance produces a negative value, while the discordance produces a positive value: b. the second component of the equation (3), (−2·J_(i))·(1−J_(i) ²), is the second derivative of J_(i) analysing how the variation between neighbouring image points or pixels and weights with which the central Image point or central pixel is connected thereto changes; c. the third component of the equation (3) weights the whole equation by the difference between each neighbouring image point or pixel and the weight with which the central image point or central pixel is connected thereto. W _(i, j) ^([n+1]) =W _(i, j) ^([n]) +ΔW _(i, j) ^([n]);   (Eq 4) where weights connecting the central image point or central pixel to each image point or pixel of its neighbourhood are updated.
 6. Method according to claim 5, characterized in that the first component, −(u_(i) ^([n])·J_(i)), weighting the value of the central image point or pixel with the variable J_(i) depending on its neighbourhood (weights and pixels), while it reverses the classical mathematic relation among signs, operates the following functions on image points: a. If the central image point or pixel tends towards black (negative value) and weights connecting it to its neighbourhood on average are greater than image points or pixels of such neighbourhood, the value of such portion of the equation will be negative; b. If the central image point or pixel tends towards black (negative value) and weights connecting it to its neighbourhood are on average smaller than image points or pixels of such neighbourhood, the value of such portion of the equation will be positive; c. If the central image point or pixel tends towards white (positive value) and weights connecting it to its neighbourhood are on average greater than image points or pixels of such neighbourhood, the value of such portion of the equation will be positive; d. If the central image point or pixel tends towards white (positive value) and weights connecting it to its neighbourhood are on average smaller than image points or pixels of such neighbourhood, the value of such portion of the equation will be negative.
 7. Method according to one or more of the preceding claims 4 to 6, characterized in that it provides steps computing at each evolution cycle the average of output weight values of each central image point or'central pixel and suitably scaling such value between 0 and 255 (range of values that image points or pixels can obtained in the image) in order to achieve transformations dividing the image in two parts made of figure and background.
 8. Method according to claim 7, characterized in that the scaling takes place according to the following equations: $\begin{matrix} {{{P_{i}^{\lbrack n\rbrack} = {{{Scale}_{Pixel} \cdot \frac{\sum\limits_{j}^{N}W_{i,j}^{\lbrack n\rbrack}}{N}} + {Offset}_{Pixel}}};}{{P_{i}^{\lbrack n\rbrack} \in \left\lbrack {0,{MaxPixelOut}} \right\rbrack};}} & \left( {{Eq}\mspace{14mu} 5} \right) \\ {{{{Scale}_{Pixel} = \frac{{Max}\; {Pixel}\; {Out}}{\left( {{{Max}\; W} - {{Min}\; W}} \right)}};}{{Offset}_{Pixel} = {- \frac{{Min}\; {W \cdot {MaxPixelOut}}}{{{Max}\; W} - {{Min}\; W}}}}} & \left( {{Eq}\mspace{14mu} 6} \right) \end{matrix}$
 9. Method according to claim 7 or 8, characterized in that it provides to use different values of the value a at the initial scaling (Eq 0), in order to change figure edges with respect to the background.
 10. Method according to one or more claims 5 to 9, characterized in that the set of processing steps determining the evolution of the value of the inner state of each image point or pixel or voxel of the given image is composed of following equations wherein the following definitions are valid: W_(i, j) ^([0])=0.0; initial value of the connection between any two pixels. u_(i)∈[−1+α,1+α]; Initial scaling of the value of all pixels of the given image. α=scaling threshold of pixel values. x^([n])=x at n step; any variable (connection, pixel, etc.) at a certain processing cycle. P^(i) ^([n])=i-th Pixel at n step; Out_(i) ^([n])=i-th Output at n step; S_(i) ^([n])=i-th State at n step; N=neighbouring nodes. and where the equations are as follows: $\begin{matrix} {{{{Out}_{i}^{\lbrack n\rbrack} = {{{Scale}_{Out} \cdot \frac{\sum\limits_{j}^{N}W_{i,j}^{\lbrack n\rbrack}}{N}} + {Offset}_{Out}}};}{{{Out}_{i}^{\lbrack n\rbrack} \in \left\lbrack {{- 1},{+ 1}} \right\rbrack};}} & \left( {{Eq}\mspace{14mu} 7} \right) \\ {{{Scale}_{Out} = \frac{2}{{{Max}\; W} - {{Min}\; W}}};{{Offset}_{Out} = {- \frac{{{Max}\; W} + {{Min}\; W}}{{{Max}\; W} - {{Min}\; W}}}}} & \left( {{Eq}\mspace{14mu} 8} \right) \end{matrix}$ by means of which steps scaling the average of the value of connections of each central image point or pixel with its neighbourhood in a numerical set in the interval {−1,+1} are carried out and the result of such scaling, taken as its absolute value, defines the inner activation state of each central image point or central pixel: S _(i) ^([n])=|Out_(i) ^([n])|;   (Eq 9) a further equation giving to each image point or pixel a “delta factor”, ΔS_(i, j) ^([n]), considering its activation value and the activation value of each image point or pixel of which it is the neighbourhood: $\begin{matrix} {{{\Delta \; S_{i,j}^{\lbrack n\rbrack}} = {{{- {Tan}}\; {H\left( {S_{i}^{\lbrack n\rbrack} + u_{j}^{\lbrack n\rbrack}} \right)}} = {- \frac{^{({S_{i}^{\lbrack n\rbrack} + u_{j}^{\lbrack n\rbrack}})} - ^{- {({S_{i}^{\lbrack n\rbrack} + u_{j}^{\lbrack n\rbrack}})}}}{^{({S_{i}^{\lbrack n\rbrack} + u_{j}^{\lbrack n\rbrack}})} + ^{- {({S_{i}^{\lbrack n\rbrack} + u_{j}^{\lbrack n\rbrack}})}}}}}};} & \left( {{Eq}\mspace{14mu} 10} \right) \end{matrix}$ while the square sum of 1 complements of ΔS^([n]) _(i, j) of each neighbourhood of each neighbouring image point or pixel, suitably weighted, defines the second order value φ_(i) ^([n]) of each image point or each pixel of the image according to the following equation: $\begin{matrix} {{\phi_{i}^{\lbrack n\rbrack} = {{LCoef} \cdot u_{i}^{\lbrack n\rbrack} \cdot {\sum\limits_{j}^{N}\left( {1 - {\Delta \; S_{j,i}^{{\lbrack n\rbrack}^{2}}}} \right)}}};} & \left( {{Eq}\mspace{14mu} 11} \right) \end{matrix}$ a further equation being provided taking in consideration a function of the sum of φ_(j) ^([n]) composing the neighbourhood of each image point or each pixel, and so, they take into consideration third order variations of each image point or each pixel according to: $\begin{matrix} {{\psi_{i}^{\lbrack n\rbrack} = {{\overset{N}{\sum\limits_{j}}{{Tan}\; {H\left( \phi_{j}^{\lbrack n\rbrack} \right)}}} = {\sum\limits_{j}^{N}\frac{^{\phi_{j}^{\lbrack n\rbrack}} - ^{- \phi_{j}^{\lbrack n\rbrack}}}{^{\phi_{j}^{\lbrack n\rbrack}} + ^{- \phi_{j}^{\lbrack n\rbrack}}}}}};} & \left( {{Eq}\mspace{14mu} 12} \right) \end{matrix}$ while the vector φ_(i) ^([n]) defines the closed edge of the given image, the vector ψ_(i) ^([n]) is responsible for the progressive generation of edge waves moving from the initial edge to the most bright portion of the image, defining a sort of “skeleton” of the image by means of their constructive and destroying interferences, and a further equation being provided considering the intersection between second and third order contributions suitable for defining the final variation that each image unit will receive: δu _(i) ^([n])=φ_(i) ^([n])·ψ_(i) ^([n]);   (Eq 13) therefore the final equation modifying the activation of each image unit at the subsequent cycle will be as follows: u _(i) ^([n+1]) =u _(i) ^([n]) +δu _(i) ^([n]).   (Eq 14)
 11. Method according to one or more of the preceding claims, characterized in that the rule for stopping iterative processing steps of the present method is related to the stabilization of connection value according to equation (3). ΔW _(i, j) ^([n])=−(u _(i) ^([n]) ·J _(i))·(−2·J _(i))·(1−J _(i) ²)·(u _(j) ^([n]) −W _(i, j) ^([n]));   (Eq 3)
 12. Method according to one or more of the preceding claims, wherein the rule for stopping iterative steps of the method is the minimization of the energy of the set of equations and particularly of the equation defining said energy E^([n]), and it is given by summing changes of connection values of the whole image at each processing cycle, according to the following equation: ${E^{\lbrack n\rbrack} = {\sum\limits_{x = 1}^{X}{\sum\limits_{s = 1}^{N}\left( {\Delta \; w_{x,x_{s}}^{\lbrack n\rbrack}} \right)^{2}}}};$ where: X=cardinality of pixel of the given image N=Neighbourhood with unit radius of each pixel X,x_(S)=x-th pixel and its neighbourhood (Eq 15a) while the system evolution causes the system energy to decrease as processing cycles increase: $\begin{matrix} {{\lim \; \underset{n\rightarrow\infty}{E^{\lbrack n\rbrack}}} = 0.} & \left( {{Eq}\mspace{14mu} 15b} \right) \end{matrix}$
 13. Method according to one or more of the proceeding claims, characterized in that it provides to process diagnostic images.
 14. Method according to claim 13, characterized in that it is a method for predicting the time development of characteristics of predetermined type of tissue, particularly a method predicting the time evolution of tumoral tissues. 